package main

import (
	"encoding/json"
	"fmt"
)

type A struct {
	Num int
}

type B struct {
	Num int
}

type Monster struct {
	Name  string `json:"name"` // `json:"name" 就是struct的tag
	Age   int    `json:"age"`
	Skill string `json:"skill"`
}

func main() {

	var a A
	var b B
	a = A(b) //可以转换但是有要求，就是结构体的字段要完全一样（包括名称，类型 个数）
	fmt.Println(a, b)

	//1 创建爱你一个Monster变量
	monster := Monster{"牛魔王", 500, "牛角功"}

	//2 将monster变量序列化为json格式字符串
	// json.Marshal 函数中使用到反射
	jsonStr, err := json.Marshal(monster)
	if err != nil {
		fmt.Println("json处理错误", err)
	}
	fmt.Println("jsonStr", string(jsonStr))
}
